#ifndef CORE_H
#define CORE_H

#include <QObject>

#define core() Core::instance()

class PluginManager;
class PluginModel;
class QAbstractItemModel;
class Core : public QObject {
  Q_OBJECT
public:
  Core(QObject * = nullptr);
  ~Core();

  static Core *instance();

  PluginManager *getPluginManager() const;
  QAbstractItemModel *getPluginModel() const;

private:
  PluginManager *pluginManager;
  PluginModel *pluginModel;
};

#endif // CORE_H
